1. Field of the Invention
The present invention relates to an information processing apparatus, an information processing method, a program, and a recording medium. More particularly, the present invention relates to an information processing apparatus capable of accurately calculating a round trip delay between transmission and receiving terminals in data communication, an information processing method for use therewith, a program for use therewith, and a recording medium for use therewith.
2. Description of the Related Art
In the past, there has been a known information processing system for performing, for example, real time streaming of moving image data from a transmission terminal to a receiving terminal by using packet communication. Along with a recent increase in a network band (a higher speed in a network), Internet streaming using a UDP (User Datagram Protocol) has come to be performed. Unlike a TCP, UDP does not have a scheme for rate control. Therefore, it is expected that a UDP becomes a communication method capable of coexisting with TCP in the Internet by using a scheme for rate control, such as a TFRC (TCP Friendly Rate Control) defined by RFC 3448.
In TCP, a determination is made as to packet loss on the basis of a preset time-out time and a round trip time (RTT) between transmission and receiving terminals, which is measured as packets are transmitted and received. For example, unless an acknowledgement packet from the receiving terminal does not arrive within the set time-out time, it is determined that the packets are discarded, and congestion is avoided by controlling the transmission rate. That is, when streaming of moving image data is to be performed by using the Internet, it is also expected in UDP that the RTT is calculated to perform rate control similarly to TCP.
FIG. 1 illustrates a method for measuring an RTT of the related art. In FIG. 1, a data packet transmitted from a transmission terminal 1 via a network 3 is received by a receiving terminal 2. An acknowledgement-packet corresponding to the data packet received by the receiving terminal 2 is transmitted from the receiving terminal 2 via the network 3 to the transmission terminal 1 and is received by the transmission terminal 1.
The transmission terminal 1 attaches a time stamp to the data packet in an application layer in software or hardware implemented in the transmission terminal 1. Thereafter, after undergoing processing for a transport layer through to a data link layer (TCP/IP MAC (Media Access Control), etc.), which are layers lower than the application layer, the transmission terminal 1 transmits a data packet. Then, an acknowledgement packet that is transmitted from the receiving terminal 2 and that is received by the transmission terminal 1 also undergoes processing for a transport layer through to a data link layer (TCP/IP MAC (Media Access Control), etc.) in a manner reverse to that during transmission and is obtained by the application layer, and the RTT is calculated.
The time at which a time stamp is attached to the data packet in the application layer of the transmission terminal 1 is denoted as time Tts. Times at which the data packet is received in the receiving terminal 2 and at which the acknowledgement packet is transmitted in the receiving terminal 2 are denoted as Trr and Trx, respectively. Furthermore, in the transmission terminal 1, the time at which the acknowledgement packet is obtained by the application layer is denoted as Tc and the times are represented in a time sequence, as shown in FIG. 2. In FIG. 2, the horizontal axis indicates a time axis, and it is assumed that time passes from the upper portion in FIG. 2 toward the lower portion.
Therefore, in the transmission terminal 1, the RTT is calculated as in the following equation:RTT=Tc−Tts 
If the degree of time spent from when the receiving terminal 2 received the data packet until the acknowledgement packet is transmitted is described in the acknowledgement packet and is sent back, the RTT can be calculated even more accurately as shown in the following equation:RTT=(Tc−Tts)−(Trx−Trr)
The RTT calculated in this manner is used for various control in a communication process, such as the above-described transmission rate control. Also, a technology for dynamically changing processing related to error correction, such as ARQ (Automatic Repeat Request) and FEC (Forward Error Collection), on the basis of the RTT, has also been proposed (refer to, for example, Japanese Unexamined Patent Application Publication No. 2003-179580).